1
Il collo di bottiglia hardware: Memoria e limiti delle risorse
AI032Lesson 5
00:00

La computazione ad alte prestazioni moderna affronta un fondamentale "Parete della memoria": la crescita esponenziale del rendimento computazionale (FLOPS) ha superato di gran lunga gli incrementi modesti in banda della memoria globale banda. Questa discrepanza trasforma i grandi array multicore in processori "affamati" che aspettano dati.

1. La lacuna di banda

Mentre una GPU può eseguire trilioni di operazioni al secondo, il percorso fisico verso la DRAM è limitato dalla densità dei pin e dai requisiti di potenza. La memoria come fattore limitante della parallelizzazione significa che man mano che aumenti il numero di thread, la banda disponibile per ogni thread diminuisce, portando a cicli di attesa in cui l'hardware rimane inattivo.

2. L'analogia della cucina

Immagina una cucina all'avanguardia (i core della GPU) in grado di preparare 1.000 pasti all'ora. Tuttavia, gli ingredienti si trovano in un magazzino (la memoria globale) a cinque chilometri di distanza, e c'è solo un'unica motocicletta per le consegne (il bus della memoria). Non importa quanti cuochi assumi, il tuo output è limitato dalla velocità della motocicletta.

3. Confronto architetturale

Un sistema CPU multicore standard sistema multicore CPU utilizza grandi cache per nascondere la latenza per pochi thread pesanti. Le architetture parallele su larga scala, tuttavia, affrontano un continuo "ingorgo" di richieste concorrenti. Limitazioni di risorse a livello di registri e memoria condivisa determinano il livello massimo di parallelismo (occupazione) raggiungibile prima che l'hardware sia sopraffatto.

Intensità aritmetica (FLOPs/byte)Prestazioni (GFLOPS)Limitato dalla memoriaLimitato dal calcolo (massimo)
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>